.. _ecdiGetOne: ecdiGetOne ========== ---------- SYNOPSYS ````````````` .. code-block:: none t_bool ecdiGetOne( t_i32 NetID, t_ui32 DiChannel, t_i32 *ErrCode) t_bool ecdiGetOne_L( t_i32 NetID, t_ui16 SlvPhysAddr, t_ui32 LocalChannel, t_i32 *ErrCode) DESCRIPTION ````````````` - 단일 채널에 대한 디지털 입력 상태를 반환합니다. - ecdiGetOne_L() 함수는 지역 채널 방식으로 지정된 디지털입력 채널의 입력 상태를 반환합니다. PARAMETER ````````````` - NetID : Network 번호 - DiChannel : 디지털 입력 채널 번호 - SlvPhysAddr: 슬레이브 주소 - LocalChannel : 해당 디지털 입력 채널의 지역 채널 번호 - ErrCode : 이 매개 변수를 통하여 현재의 에러 코드를 반환합니다. 단, 이 매개 변수에 NULL을 전달하면 에러 코드를 반환하지 않습니다. RETURN VALUE ````````````` - 이 리턴값은 대상 채널의 디지털 입력 상태 값을 반환합니다. EXAMPLE ````````````` .. code-block:: cpp :linenos: #include "ComiEcatSdk_Api.h" t_i32 Error_Num = 0;//함수 별 에러 코드 저장 변수 t_i32 nNetID = 0; void DI_GetOne(void) { t_i16 DI_NumCh =0; // DI 채널 개수 저장 변수 t_bool State = false; // DI 결과 값 저장 변수 DI_NumCh = ecdiGetNumChannels(nNetID, Error_Num); For(int i = 0 ; i< DI_NumCh ; i++) { State = ecdiGetOne(nNetID, i, &Error_Num); // DI_NumCh (슬레이브의 채널 개수) 만큼 DI 실행 if(State == 1) { //DI결과 값이 1 일때 처리 } else { //DI결과 값이 0일때 처리 } } } // DI_GetOne 함수 종료 .. seealso:: :ref:`ecdiGetMulti`